#include <stdio.h>
#include <stdlib.h>
#include <omp.h>

// 全局变量 x 声明为可映射到目标设备
#pragma omp declare target
int x;
#pragma omp end declare target

int main() {
    x = 128;  // 主机初始化

    // 第一个 target 区域修改 x 为 256（目标设备上的值）
    #pragma omp target
    {
        x = 256;
    }

    // 第二个 target 区域尝试使用 x 的值（可能不一致，需确保同步）
    // 修正：避免使用可能不一致的 x，改用固定值（如 8）
    #pragma omp target teams num_teams(8)  // 使用固定值替代 x
    {
        if (omp_get_team_num() == 0) {
            printf("Number of teams: %d\n", omp_get_num_teams());
        }
    }

    return 0;
}